/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package managers;

import beans.Bebida;
import dao.BebidaDao;
import java.util.ArrayList;
import java.util.List;
import javax.swing.table.AbstractTableModel;
import util.BebidasTableModel;

/**
 *
 * @author nMoncho
 */
public class ManagerBebidas {

    private List<Bebida> bebidas;
    private ArrayList<Bebida> bebidaModelo;
    private BebidasTableModel model;
    private List<Bebida> bebidasABorrar;

    public ManagerBebidas(){
        bebidas = BebidaDao.getBebidas();
        rellenarModelo();

        bebidasABorrar = new ArrayList<Bebida>();
    }

    private void rellenarModelo() {
        bebidaModelo = new ArrayList<Bebida>();
        bebidaModelo.addAll(bebidas);

        model = new BebidasTableModel(bebidaModelo);
    }

    public AbstractTableModel getModel(){
        return model;
    }

    public boolean agregarBebida(String nombre){
        for(Bebida beb : bebidas){
            if(beb.getNombre().toLowerCase().compareTo(nombre.toLowerCase()) == 0)
                return false;
        }

        Bebida bebida = new Bebida();
        bebida.setNombre(nombre);

        bebidas.add(bebida);
        bebidaModelo.add(bebida);

        return true;
    }

    public void borrarBebida(int fila){
        Bebida bebida = bebidaModelo.get(fila);

        bebidaModelo.remove(bebida);
        bebidas.remove(bebida);

        bebidasABorrar.add(bebida);
    }

    public boolean guardarCambios(){
        boolean exito = BebidaDao.saveOrUpdateOrDelete(bebidas, bebidasABorrar);

        return exito;
    }
}
